home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Draw / CExplodeBMD.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  6.0 KB  |  201 lines

  1. package Local.Draw
  2. {
  3.    import STC9.System.CProfiler;
  4.    import flash.display.*;
  5.    import flash.events.*;
  6.    import flash.geom.*;
  7.    
  8.    public class CExplodeBMD
  9.    {
  10.        
  11.       
  12.       private var mParticles:Object;
  13.       
  14.       public function CExplodeBMD(param1:Point)
  15.       {
  16.          super();
  17.          mParticles = new Object();
  18.          CExplodeBMDParticle.mWorldPosition = param1;
  19.       }
  20.       
  21.       public function CreatePoints(param1:BitmapData) : Array
  22.       {
  23.          var _loc2_:Number = NaN;
  24.          var _loc3_:Number = NaN;
  25.          var _loc4_:Number = NaN;
  26.          var _loc5_:Number = NaN;
  27.          var _loc6_:* = NaN;
  28.          var _loc7_:Number = NaN;
  29.          var _loc8_:Array = null;
  30.          var _loc9_:int = 0;
  31.          var _loc10_:int = 0;
  32.          var _loc11_:Array = null;
  33.          _loc2_ = Math.ceil(param1.width / CExplodeBMDParticle.mParticleSize);
  34.          _loc3_ = Math.ceil(param1.height / CExplodeBMDParticle.mParticleSize);
  35.          _loc4_ = param1.width / _loc2_;
  36.          _loc5_ = param1.height / _loc3_;
  37.          _loc11_ = new Array();
  38.          _loc7_ = 0;
  39.          _loc10_ = _loc3_;
  40.          while(_loc10_ >= 0)
  41.          {
  42.             _loc11_.push(_loc8_ = new Array());
  43.             if(false)
  44.             {
  45.                continue;
  46.             }
  47.             ┬º┬ºpush(0);
  48.             if(true)
  49.             {
  50.                _loc6_ = ┬º┬ºpop();
  51.                if(true)
  52.                {
  53.                   ┬º┬ºpush(_loc2_);
  54.                   if(true)
  55.                   {
  56.                      _loc9_ = ┬º┬ºpop();
  57.                      if(true)
  58.                      {
  59.                         while(true)
  60.                         {
  61.                            if(_loc9_ >= 0)
  62.                            {
  63.                               _loc8_.push(new Point(Math.floor(_loc6_),Math.floor(_loc7_)));
  64.                               if(true)
  65.                               {
  66.                                  ┬º┬ºpush(_loc6_);
  67.                                  if(false)
  68.                                  {
  69.                                     break;
  70.                                  }
  71.                                  ┬º┬ºpush(┬º┬ºpop() + _loc4_);
  72.                                  if(true)
  73.                                  {
  74.                                     ┬º┬ºpush(┬º┬ºpop());
  75.                                  }
  76.                                  _loc6_ = ┬º┬ºpop();
  77.                                  _loc9_--;
  78.                               }
  79.                               continue;
  80.                            }
  81.                         }
  82.                         addr139:
  83.                         _loc7_ = ┬º┬ºpop() + _loc5_;
  84.                         addr140:
  85.                         _loc10_--;
  86.                         continue;
  87.                         addr136:
  88.                         addr138:
  89.                      }
  90.                      ┬º┬ºgoto(addr136);
  91.                      ┬º┬ºpush(_loc7_);
  92.                   }
  93.                   ┬º┬ºgoto(addr138);
  94.                }
  95.                ┬º┬ºgoto(addr140);
  96.             }
  97.             ┬º┬ºgoto(addr139);
  98.          }
  99.          return _loc11_;
  100.       }
  101.       
  102.       public function AddBMD(param1:BitmapData, param2:Matrix, param3:Point = null, param4:Number = 15) : *
  103.       {
  104.          if(true)
  105.          {
  106.             CProfiler.StartProfile("CExplodeBMD.AddBMD");
  107.             if(true)
  108.             {
  109.                CExplodeBMDParticle.mParticleSize = param4;
  110.                CreateParticles(param1,CreatePoints(param1),param2,param3);
  111.             }
  112.             CProfiler.StopProfile("CExplodeBMD.AddBMD");
  113.          }
  114.       }
  115.       
  116.       public function CreateParticles(param1:BitmapData, param2:Array, param3:Matrix, param4:Point) : void
  117.       {
  118.          var _loc5_:int = 0;
  119.          var _loc6_:int = 0;
  120.          var _loc7_:int = 0;
  121.          var _loc8_:Point = null;
  122.          var _loc9_:Point = null;
  123.          var _loc10_:CExplodeBMDParticle = null;
  124.          _loc5_ = 0;
  125.          while(_loc5_ < param2.length - 1)
  126.          {
  127.             _loc6_ = 0;
  128.             _loc7_ = param2[_loc5_].length - 1;
  129.             while(_loc6_ < _loc7_)
  130.             {
  131.                _loc8_ = param2[_loc5_][_loc6_];
  132.                _loc9_ = param2[_loc5_ + 1][_loc6_ + 1];
  133.                if(!(_loc10_ = new CExplodeBMDParticle(param1,new Rectangle(_loc8_.x,_loc8_.y,_loc9_.x - _loc8_.x,_loc9_.y - _loc8_.y),param3,param4)).mInvalid)
  134.                {
  135.                   if(false)
  136.                   {
  137.                      continue;
  138.                   }
  139.                   mParticles[_loc10_.mID] = _loc10_;
  140.                }
  141.                _loc6_++;
  142.             }
  143.             _loc5_++;
  144.          }
  145.       }
  146.       
  147.       public function Process() : void
  148.       {
  149.          var _loc1_:* = 0;
  150.          var _loc2_:CExplodeBMDParticle = null;
  151.          if(true)
  152.          {
  153.             CProfiler.StartProfile("CExplodeBMD.Process");
  154.             ┬º┬ºpush(0);
  155.             if(true)
  156.             {
  157.                _loc1_ = ┬º┬ºpop();
  158.                addr23:
  159.                ┬º┬ºpush(0);
  160.             }
  161.             for each(_loc2_ in mParticles)
  162.             {
  163.                _loc1_++;
  164.                if(!_loc2_.Process())
  165.                {
  166.                   _loc2_.Dispose();
  167.                   delete mParticles[_loc2_.mID];
  168.                }
  169.             }
  170.             if(true)
  171.             {
  172.                CProfiler.AddDebug("CExplodeBMD.Count",String(_loc1_));
  173.                CProfiler.StopProfile("CExplodeBMD.Process");
  174.             }
  175.             return;
  176.          }
  177.          ┬º┬ºgoto(addr23);
  178.       }
  179.       
  180.       public function Render(param1:BitmapData) : void
  181.       {
  182.          var _loc2_:CExplodeBMDParticle = null;
  183.          if(true)
  184.          {
  185.             CProfiler.StartProfile("CExplodeBMD.Render");
  186.          }
  187.          for each(_loc2_ in mParticles)
  188.          {
  189.             if(true)
  190.             {
  191.                _loc2_.Render(param1);
  192.             }
  193.          }
  194.          if(true)
  195.          {
  196.             CProfiler.StopProfile("CExplodeBMD.Render");
  197.          }
  198.       }
  199.    }
  200. }
  201.